@Sophia
3年前 提问
1个回答
代码审计怎么高效查找漏洞
在下炳尚
3年前
官方采纳
根据经验,当审查Web应用程序源代码时,使用重查找方法
迅速高效地确定其中存在的漏洞。这种方法由以下3个步骤组成。
从进入点开始追踪用户向应用程序提交的数据,审查负责处理这些数据的代码。
在代码中搜索表示存在常见漏洞的签名,并审查这些签名,确定某个漏洞是否确实存在。
对内在危险的代码进行逐行审查,理解应用程序的逻辑,并确定其中存在的所有问题。需要进行仔细审查的功能组件包括:应用程序中的关键安全机制(验证、会话管理、访问控制与任何应用程序范围内的输入确认)、外部组件接口,以及任何使用本地代码(通常为C/C++)的情况。
首先分析各种常见的Web应用程序漏洞在源代码中的各种表现形式,以及当进行代码审查时如何以最简单的方式确定这些表现形式。这将有助于在代码中搜索漏洞签名[第(2)步]和仔细审查危险的代码[第(3)步]
然后依次分析一些最流行的Web开发语言,确定应用程序如何获得用户提交的数据(通过请求参数、cookie等)、它如何与用户进行会话交互、每种语言中存在潜在危险的API以及每种语言的配置与环境对应用程序安全的影响。这将有助于我们从进入点开始追踪用户向应用程序提交的数据[第(1)步],并为其他步骤提供每种语言的参考。最后介绍一些进行代码审查的有用工具。